#pragma once
#include <iostream>
#include "GameComponent.h"
#include "GameObject.h"


using namespace std;

struct Vec2;

class Movable : public GameComponent
{
	private:
		vector<GameObject*> objects;
		Vec2 Collide(Vec2, GameObject * o2);/* Pushes the objects away from each other (called by CheckCollision) */
		Vec2 CheckCollision(Vec2 vec);/* Checks for a collision (called by Move)*/
	public:
		Movable(GameObject * o);/* Constructor that passes in the parent GameObject */
		void Move(Vec2 vec);/* Moves the GameObject */
		void GetInput (); // Gets game input.
};